#ifndef ENCODERSETTINGS_H
#define ENCODERSETTINGS_H

#include <string>

using std::string;

class EncoderSettings
{
public:
    EncoderSettings() {}
    EncoderSettings(string raw, string enc, int w, int h, int r, string quant, string log, int gop, int merange)
                 : _rawfile(raw), _encfile(enc), _width(w), _height(h), _rle(r), _quantfile(quant),
                 _logfile(log), _gop(gop), _merange(merange) {}
    ~EncoderSettings() {}

    void setRawfile(string raw) { _rawfile = raw; }
    void setEncfile(string enc) { _encfile = enc; }
    void setWidth(int w) { _width = w; }
    void setHeight(int h) { _height = h; }
    void setRLE(int r) { _rle = (bool) r; }
    void setQuantfile(string quant) { _quantfile = quant; }
    void setLogfile(string log) { _logfile = log; }
    void setGOP(int gop) { _gop = gop; }
    void setMerange(int merange) { _merange = merange; }

    const string &rawfile() const { return _rawfile; }
    const string &encfile() const { return _encfile; }
    const int getWidth() const { return _width; }
    const int getHeight() const { return _height; }
    const bool getRLE() const { return _rle; }
    const string &quantfile() const { return _quantfile; }
    const string &logfile() const { return _logfile; }
    const int getGOP() const { return _gop; }
    const int getMerange() const { return _merange; }

private:
    string _rawfile, _encfile;
    int _width, _height;
    bool _rle;
    string _quantfile, _logfile;
    int _gop, _merange;
};

#endif // ENCODERSETTINGS_H
